--[[ 编码: hh-mobox-004 名称: 当前出库任务 作者:SGX 日期:2024-11-17 函数: GenerateViewHTML 功能: 更改记录: --]] json = require("json") mobox = require("OILua_JavelinExt") m3 = require("oi_base_mobox") function GenerateViewHTML(strLuaDEID) local nRet, strRetInfo local autoplay = false local strHtmlTitle = ""; local strHtmlRow = ""; --[[ 获取样式 ]] local strHtmlStyle = GetHtmlStyle(); --[[ 列明 ]] local tabTitleList = { "物料编码", "物料名称", "状态", "机台" } --[[ 组织列名 ]] -- [[ class 处理样式 这里 组成(table-col' .. i .. ') table-col1,table-col2,table-col3 ]] for i = 1, #tabTitleList do strHtmlTitle = strHtmlTitle .. '
' .. tabTitleList[i] .. '
' end -- 获取执行中的作业数据 local tabDataList = {} local operation_list local condition = "TO_CHAR(T_CREATE, 'YYYY-MM-DD') = TO_CHAR(SYSDATE, 'YYYY-MM-DD')" local strFieldList = '["S_STATE","S_ITEM_CODE","S_MS_CODE"]' nRet, operation_list = mobox.queryTable(strLuaDEID, "TN_GT_Stock_Out", strFieldList, 1000, condition, "T_CREATE ASC") if (nRet ~= 0) then lua.Error(strLuaDEID, debug.getinfo(1), "获取【出库单】失败!" .. operation_list) end if (operation_list == '') then return end operation_list = json.decode(operation_list) -- 添加入库信息 for i = 1, #operation_list do tabDataList[i] = { item_code = operation_list[i].S_ITEM_CODE, jt = operation_list[i].S_MS_CODE } if (operation_list[i].S_STATE == '新建') then tabDataList[i].state = "待执行" tabDataList[i].back = "#ff5722" elseif (operation_list[i].S_STATE == '启用') then tabDataList[i].state = "执行中" tabDataList[i].back = "#ffc107" elseif (operation_list[i].S_STATE == '完成') then tabDataList[i].state = "已完成" tabDataList[i].back = "#2196F3" end -- 获取物料名称 condition = "S_ITEM_CODE = '" .. operation_list[i].S_ITEM_CODE .. "'" nRet, strRetInfo = m3.GetDataObjByCondition(strLuaDEID, "Material", condition) if (nRet ~= 0) then lua.Error(strLuaDEID, debug.getinfo(1), "获取【物料】失败!" .. strRetInfo) end tabDataList[i].item_name = strRetInfo.item_name end -- --[[ 数据 ]] -- local tabDataList = { -- { -- item_code = "111", -- item_name = "111", -- state = "执行中", -- jt = "1101", -- back = "#ff5722" -- }, { -- item_code = "222", -- item_name = "222", -- state = "完成", -- jt = "1101", -- back = "#2196F3" -- }, { -- item_code = "111", -- item_name = "111", -- state = "执行中", -- jt = "1101", -- back = "#ff5722" -- }, { -- item_code = "111", -- item_name = "111", -- state = "执行中", -- jt = "1101", -- back = "#ff5722" -- }, { -- item_code = "111", -- item_name = "111", -- state = "执行中", -- jt = "1101", -- back = "#ff5722" -- } -- } if (#tabDataList > 4) then autoplay = true end --[[ 组织行数据html ]] for i = 1, #tabDataList do strHtmlRow = strHtmlRow .. '
' .. '
' .. tabDataList[i].item_code .. '
' .. '
' .. tabDataList[i].item_name .. '
' .. '
' .. '
' .. tabDataList[i].state .. '
' .. '
' .. '
' .. tabDataList[i].jt .. '
' .. '
' end --[[ 总html ]] local strHtml = '
' .. '
' .. strHtmlTitle .. '
' .. '
' .. strHtmlRow .. '
' .. '
' local action = {} action[1] = { action_type = "chart", value = { graphicType = "html", title = { text = "当前出库任务", align = "left", color = "#fff", font = "微软雅黑", fontSize = 18 }, swiper = { --[[ 容器名称不能重复 不能为空 swiper-container class 需要指定 ]] containerName = "ck01", --[[ 强制Swiper的宽度(px),"undefined" 或 整数, 当你的Swiper在隐藏状态下初始化时用得上。这个参数会使自适应失效。可设置为undefined使这个参数无效。 ]] width = "undefined", --[[ 强制Swiper的高度(px),当你的Swiper在隐藏状态下初始化时且切换方向为垂直才用得上。这个参数会使自适应失效。 ]] height = 150, --[[ 排列方向 vertical , horizontal ]] direction = "vertical", --[[ 切换速度,即slider自动滑动开始到结束的时间(单位ms) ]] speed = 1000, --[[ loop 模式如果与 slidesPerView: 'auto' 一起使用,需要设置 loopedSlides 指定要循环(重复)的幻灯片数量。 ]] loop = true, --[[ 设置slider容器能够同时显示的slides数量,整数或auto ]] slidesPerView = 'auto', --[[ 在slide之间设置距离(单位px)。 ]] spaceBetween = 1, --[[ 默认情况下Swiper 每次滑动时只滑动一个Slide,并且会自动贴合Wrapper。开启自由模式后,Swiper 会根据惯性滑动可能不止一格且不会贴合。 ]] freeMode = true, --[[ 设定slide与左边框的预设偏移量(单位px)。 垂直就行与上方距离 ]] slidesOffsetBefore = 0, --[[ 设定slide与右边框的预设偏移量(单位px)。 垂直就行与下方距离 ]] slidesOffsetAfter = 0, --[[是否自动播放,true 需要指定 autoplayDelay ]] autoplay = autoplay, --[[ 播放间隔时间,单位ms ]] autoplayDelay = 500 }, html = strHtmlStyle .. strHtml } } -- Debug( strLuaDEID, debug.getinfo(1), "action! ", action ) nRet, strRetInfo = mobox.setAction(strLuaDEID, json.encode(action)) if (nRet ~= 0) then lua.Error(strLuaDEID, debug.getinfo(1), "setAction失败! " .. strRetInfo) end end function GetHtmlStyle() return '' end